package com.cool.shark.service;

import com.cool.shark.pojo.dto.CarouselDTO;
import com.cool.shark.pojo.vo.CarouselVO;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
 * @Name: CarouselService
 * @Author: 西风残叶
 * @Date: 2024/4/15 13:54
 * @Version: 1.0
 * @TODO: 类别业务接口
 */
@Transactional
public interface CarouselService {
    /**
     * 插入一个指定名称的记录。
     *
     * @param name 要插入的记录的名称。
     * 该方法没有返回值，它主要用于将一个名为name的记录插入到某个数据结构中。
     */
    void insert(String name);

    /**
     * 获取类别列表
     * 
     * @return List<CarouselVO> 类别列表，返回一个包含多个类别信息的列表对象
     */
    List<CarouselVO> list();

    /**
     * 删除指定ID的记录。
     *
     * @param id 要删除的记录的唯一标识符。
     * @return 无返回值。
     */
    void delete(int id);

    /**
     * 更新轮播信息。
     *
     * @param carouselDTO 轮播数据传输对象，包含需要更新的轮播信息。
     *                    通过该对象，可以更新轮播图的各个属性，如图片链接、展示文本等。
     * @return 无返回值。
     */
    void update(CarouselDTO carouselDTO);
}